// SIRIUS: Для календаря

function getAbsolutePosition(obj) {
    var obj2=$(obj).position();
    return [obj2.top, obj2.left];
}

var cur;
var timerid;
var curtd;
function showMenu(url, me) {
    doHide();
    if ( elmnt = document.getElementById(url) ) {
        elmnt.style.display = 'block';
        cur = elmnt;
        curtd = me;
        curtd.style.background='#FAFAFA';
    }
}

function hideMenu() {
    timerid = setTimeout("doHide()", 100);
}

function hideSubmenu() {
    clearTimeout(timerid);
}

function doHide() {
    clearTimeout(timerid);
    if (cur) cur.style.display = 'none';
    if (curtd) curtd.style.background='white';
    cur = '';
}



// SIRIUS: Методы для работы с рассылками
toggleSubscribeDiv = function(show){
    $('#subscribeDiv')[0].style.display = (show)?"block":"none";
}

checkValidField = function(fieldType, fieldId){
	var pattern;
	var valueToCheck = fieldId.value;
	if(fieldType == 'Email')
	{
		pattern = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	}
	else if(fieldType == 'Name')
	{
		//valueToCheck = valueToCheck.strip();
		pattern = /([^\s]+)/;
	}
	if(pattern.test(valueToCheck)){
		setFieldValid(fieldId);
		return true;
	}
	return false;
}

setFieldError = function(fieldId, ErrorMessage){
	fieldId.value = ErrorMessage;
	fieldId.style.backgroundColor = "#ff6666";
}

setFieldValid = function(fieldId){
	fieldId.style.backgroundColor = "#66cc66";
}

registerSubscribeUser = function(nameFieldId, emailFieldId){
	if(!checkValidField("Email", emailFieldId)){
		setFieldError(emailFieldId, "Неправильный формат ввода email");
		return false;
		}
	if(!checkValidField("Name", nameFieldId)){ 
		setFieldError(nameFieldId, "Неправильный формат ввода ФИО");
		return false;
		}
	var ajax =  $.ajax({
		type  : "GET",
		url   : "/subscribe/subscribe.php",
		data  : "name=" + nameFieldId.value + "&email=" + emailFieldId.value,
		success: function(msg, textStatus)
		  {
                if(msg == "TRUE") {
                	$("#subscribeDiv")[0].style.display = "none";
                	$("#subscribeSpan")[0].innerHTML = "Уведомление отослано";
                }
                else if(msg == "EMAIL_ERROR") {
                	setFieldError(emailFieldId, "Неправильный формат ввода email");
                }
                else if(msg == "NAME_ERROR") {
                	setFieldError(nameFieldId, "Неправильный формат ввода ФИО");
                }
                else if(msg == "ALREADY_REGISTRED") {
                	setFieldError(emailFieldId, "Такой email уже зарегистрирован");
                }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
          alert("ERROR:"+errorThrown);
        }
	})
}


// SIRIUS: Устанавливаем домашнюю страницу
function manageHomePage() {
    var bQueryHome = oHomePage.isHomePage('http://www.option.ru');
    if (!bQueryHome) oHomePage.setHomePage('http://www.option.ru');
}




var is_closing_all = false;

$(document).ready(function () {
    $('#secretmail')[0].href = String.fromCharCode(109, 97, 105, 108, 116, 111, 58, 99, 111, 110, 116, 97, 99, 116, 64, 111, 112, 116, 105, 111, 110, 46, 114, 117);
    $('#secretmail2')[0].href= String.fromCharCode(109, 97, 105, 108, 116, 111, 58, 99, 111, 110, 116, 97, 99, 116, 64, 111, 112, 116, 105, 111, 110, 46, 114, 117);

    
    // SIRIUS: Эффекты на услуги для главной
    if (IS_MAIN){
        $("#n_main_services div").hover(
            function () {
                $(this).stop().animate({backgroundColor:'white'}, 300);
            }, 
            function () {
                $(this).stop().animate({backgroundColor:'eeeeee'}, 300);
            }
        );
    }
    
    
    // SIRIUS: Эффекты для счетчиков внизу
    $("#n_bottom img").hover(
        function () {
            $(this).stop().animate({opacity:1}, 200);
        }, 
        function () {
            $(this).stop().animate({opacity:.3}, 200);
        }
    );
    
    
    // SIRIUS: Эффекты для ссылок
    $("#n_content a").hover(
            function () {
                $(this).stop().animate({backgroundColor:'lightgreen'}, 300);
            }, 
            function () {
                $(this).stop().animate({backgroundColor:'white'}, 300);
            }
        );
        
        
    // SIRIUS: Эффкеты для левого меню
    jQuery.each($(".menu_item a"), function() {

        if ($("#sub"+this.id).attr('id')){
            $(this).attr({'submenu_height': $("#sub"+this.id).height()} );
            if ($(this).attr('opened')!=1){
                $("#sub"+this.id).height(0);
                $("#sub"+this.id).css("position",'static');
                $("#sub"+this.id).css("left",'0');
            }
            
            $(this).click( function () {
                $(this).blur();
                
                if ($(this).attr('opened')==1){
                    $(this).attr({'opened': 0});
                    try {
                        $(this).stop().animate(
                            {
                                backgroundColor :'white',
                                color           :'h006425',
                                paddingLeft     :0
                            },
                            1000,
                            function(){this.className='closed'}
                        );
                    } catch(e){
                        this.className='closed';
                    }
                    $("#sub"+this.id).stop().animate(
                        { 
                            height          : 0,
                            paddingBottom   : 0
                        },
                        1000
                    );
                    
                }
                else {
                    if (!is_closing_all) closeAll();
                    $(this).attr({'opened': 1});
                    try {
                        $(this).stop().animate(
                            {
                                backgroundColor :'eeeeee',
                                color           :'h565656',
                                paddingLeft     :5
                            },
                            1000,
                            function(){this.className='opened'}
                        );
                    } catch(e){
                        this.className='opened';
                    }
                    try {
                        $("#sub"+this.id).stop().animate(
                            { 
                                height          :$(this).attr('submenu_height'),
                                paddingBottom   :15
                            },
                            1000
                        );
                    } catch(e){
                        $("#sub"+this.id).height($(this).attr('submenu_height'));
                        $("#sub"+this.id).css("paddingBottom","15px");
                    }
                }
                
                return false;
            });
        }
    });
    
    
    function closeAll(){
        is_closing_all = true;
        $.each($(".menu_item a"), function() {
            if ($(this).attr('opened')==1) {$(this).click();}
        });
        is_closing_all = false;
    }
    
    
    
    
});












/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */
(function(jQuery){

    // We override the animation for all of these color styles
    jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
        jQuery.fx.step[attr] = function(fx){
            if ( fx.state == 0 ) {
                fx.start = getColor( fx.elem, attr );
                fx.end = getRGB( fx.end );
            }

            fx.elem.style[attr] = "rgb(" + [
                Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
                Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
                Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
            ].join(",") + ")";
        }
    });

    function getRGB(color) {
        var result;

        // Check if we're already dealing with an array of colors
        if ( color && color.constructor == Array && color.length == 3 )
            return color;

        // Look for rgb(num,num,num)
        if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
            return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];

        // Look for rgb(num%,num%,num%)
        if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
            return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];

        // Look for #a0b1c2
        if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
            return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];

        // Look for #fff
        if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
            return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];

        // Look for rgba(0, 0, 0, 0) == transparent in Safari 3
        if (result = /rgba\(0, 0, 0, 0\)/.exec(color))
            return colors['transparent'];

        // Otherwise, we're most likely dealing with a named color
        return colors[jQuery.trim(color).toLowerCase()];
    }

    function getColor(elem, attr) {
        var color;

        do {
            color = jQuery.curCSS(elem, attr);

            // Keep going until we find an element that has color, or we hit the body
            if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
                break;

            attr = "backgroundColor";
        } while ( elem = elem.parentNode );

        return getRGB(color);
    };
    var colors = {
        aqua:[0,255,255],
        azure:[240,255,255],
        beige:[245,245,220],
        black:[0,0,0],
        blue:[0,0,255],
        brown:[165,42,42],
        cyan:[0,255,255],
        darkblue:[0,0,139],
        darkcyan:[0,139,139],
        darkgrey:[169,169,169],
        darkgreen:[0,100,0],
        darkkhaki:[189,183,107],
        darkmagenta:[139,0,139],
        darkolivegreen:[85,107,47],
        darkorange:[255,140,0],
        darkorchid:[153,50,204],
        darkred:[139,0,0],
        darksalmon:[233,150,122],
        darkviolet:[148,0,211],
        fuchsia:[255,0,255],
        gold:[255,215,0],
        green:[0,128,0],
        indigo:[75,0,130],
        khaki:[240,230,140],
        lightblue:[173,216,230],
        lightcyan:[224,255,255],
        lightgreen:[144,238,144],
        lightgrey:[211,211,211],
        lightpink:[255,182,193],
        lightyellow:[255,255,224],
        lime:[0,255,0],
        magenta:[255,0,255],
        maroon:[128,0,0],
        navy:[0,0,128],
        olive:[128,128,0],
        orange:[255,165,0],
        pink:[255,192,203],
        purple:[128,0,128],
        violet:[128,0,128],
        red:[255,0,0],
        silver:[192,192,192],
        white:[255,255,255],
        yellow:[255,255,0],
        transparent: [255,255,255],
        eeeeee: [238, 238, 238],
        lightgreen: [237, 250, 233],
        h006425: [0,100,37],
        h565656: [86, 86, 86]
    };

})(jQuery);
